One or more aspects relate, in general, to processing within a computing environment, and in particular, to facilitating read operations.
Data precision within a computer architecture is often limited by the hardware. For example, hardware with 64-bit registers will typically be limited to using 64-bit data. In order to extend the precision of the data beyond 64-bits, special processing is required.
One technique of extending the precision of data is to use register pairing. Register pairing splits a number, such as a floating point number, across a pair of hardware registers. By using register pairing, the precision of a floating point number can be double what is possible using a single register.
When using register pairing, a single operation, such as an add operation, may require the reading of four registers and the writing of two registers. This requires double the number of read ports to a register file to obtain the input operands in one access to the registers, or multiple accesses using a single read port, which increases operation latency. On a subsequent read of this value, the two halves of the operand have to be read out and pieced back together, which further increases complexity and latency.